<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <!-- <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li> -->
    </ul>
    <button>创建li节点</button>
</body>
<script>
    // 事件委托  又叫做事件代理   事件委托原理就是冒泡


    let ul = document.querySelector('ul')
    // let lis = document.querySelectorAll('ul li')
    // // for(var i=0;i<lis.length;i++){
    // //     lis[i].onclick = function(){
    // //        console.log(this);//在点击事件中，this点谁指向谁
    // //        this.style.background = 'red'
    // //     }
    // // }

    // // 事件委托
    // ul.onclick =function(e){
    //    console.log(e.target);
    //    e.target.style.background = 'red'
    // }
// 第一点 事件委托可以节省我们性能的消耗 ，把子元素的事件绑定到父元素上
// 第二点 可以把未来节点的事件绑定到父元素上
let btn = document.querySelector('button')

// 点击按钮的事件创建li节点
btn.onclick = function(){
    let li = document.createElement('li')
    li.innerHTML = '我是创建的节点，我是未来元素'
    ul.appendChild(li)
}

    // let lis = document.querySelectorAll('ul li')
    // for(var i=0;i<lis.length;i++){
    //     lis[i].onclick = function(){
    //        console.log(this);//在点击事件中，this点谁指向谁
    //        this.style.background = 'red'
    //     }
    // }

    ul.onclick = function(e){
     e.target.style.background = 'red'
    }








</script>
</html>